From 4e6561b2b2dfe1fbc0d816f93c87500e771b6851 Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Wed, 5 Mar 2008 10:36:35 +0000 Subject: [PATCH] short-circuit in case an empty root level would be build (and thus 2008-03-05 Kristian Rietveld * gtk/gtktreemodelfilter.c (gtk_tree_model_filter_row_inserted): short-circuit in case an empty root level would be build (and thus directly destroyed) if no virtual root has been set. svn path=/trunk/; revision=19712 --- ChangeLog | 6 ++++++ gtk/gtktreemodelfilter.c | 5 +++++ 2 files changed, 11 insertions(+) diff --git a/ChangeLog b/ChangeLog index d1ecc23beb..f8ff8d984f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2008-03-05 Kristian Rietveld + + * gtk/gtktreemodelfilter.c (gtk_tree_model_filter_row_inserted): + short-circuit in case an empty root level would be build (and thus + directly destroyed) if no virtual root has been set. + 2008-03-04 Matthias Clasen * modules/printbackends/cups/gtkprintbackendcups.c: diff --git a/gtk/gtktreemodelfilter.c b/gtk/gtktreemodelfilter.c index 4c32f9ffea..7a4aa69314 100644 --- a/gtk/gtktreemodelfilter.c +++ b/gtk/gtktreemodelfilter.c @@ -1373,6 +1373,11 @@ gtk_tree_model_filter_row_inserted (GtkTreeModel *c_model, if (!filter->priv->root) { + /* No point in building the level if this node is not visible. */ + if (!filter->priv->virtual_root + && !gtk_tree_model_filter_visible (filter, c_iter)) + goto done; + /* build level will pull in the new child */ gtk_tree_model_filter_build_level (filter, NULL, NULL, FALSE); -- 2.30.2